class Dog:
    # 类属性
    # 定义在类的里面，方法的外面，不需要使用self来定义
    color = '黄色'  #类属性
    def __init__(self,name='小白'):
        self.name = name
    @classmethod
    def set_age(cls, age):
        cls.age = age
        print("我是一个类方法")
    def showInfo(self):
        self.set_age(33)
        self.color='棕色'
        print(f"狗的名字是{self.name},年龄是{self.age},颜色:{self.color}")

# 类方法调用：类名.类方法名()
"""
  类方法：用 @classmethod来修饰
          类方法中不能调用成员属性，成员(普通方法)方法
          可以调用类属性
  普通方法：可以调用类方法，类属性
                
"""
# Dog.set_age(33) # 类名.方法名 直接调用类方法
dog1 = Dog()
#
dog1.showInfo()
